package com.example.libraryms.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.libraryms.model.dto.BookTypeAddDTO;
import com.example.libraryms.model.dto.BookTypeDTO;
import com.example.libraryms.model.dto.BookTypeQueryDTO;
import com.example.libraryms.model.dto.BookTypeUpdateDTO;
import com.example.libraryms.model.entity.BookType;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author Cauli
 * @date 2023/7/31 13:58
 * @description 图书分类 服务实现类
 */
@Service
public interface BookTypeService extends IService<BookType> {
    /**
     * 分页获得图书分类信息
     *
     * @param bookTypeQueryDTO
     * @return
     */
    Page<BookType> getBookTypePage(BookTypeQueryDTO bookTypeQueryDTO);

    /**
     * 根据图书分类编号获取详细信息
     *
     * @param bookTypeId
     * @return
     */
    BookTypeDTO getBookType(Integer bookTypeId);

    /**
     * 添加图书分类
     *
     * @param bookTypeAddDTO
     */
    void addBookType(BookTypeAddDTO bookTypeAddDTO);

    /**
     * 修改图书分类
     *
     * @param bookTypeUpdateDTO
     */
    void updateBookType(BookTypeUpdateDTO bookTypeUpdateDTO);

    /**
     * 删除图书分类
     *
     * @param bookTypeIds
     */
    void deleteBookTypes(List<Integer> bookTypeIds);
}
